In the information age, a large number of software applications are available to businesses and consumers to assist them in performing a wide variety of tasks. Unfortunately, not all applications may be trustworthy or invulnerable to exploits or security leaks. For example, an attacker may leverage an applications to install malware or gain root access to a device.
Some application security risks may be addressed on the method level. For example, a security vendor may add a wrapper to a method within an application, so the wrapper can intercept calls to the method and examine the context in which the method was called and/or sanitize parameters passed to the method. Some platforms may provide application programming interfaces for provisioning wrapper methods in applications; however, other platforms for which a security vendor may wish to provide protection may not provide such application programming interfaces. Some traditional techniques for modifying applications may involve decompiling and recompiling portions of executable files and/or byte code. Unfortunately, these techniques may involve an undesirable consumption of computing resources and/or may provide insufficient flexibility in modifying applications while in execution.
Accordingly, the instant disclosure identifies and addresses a need for additional and improved systems and methods for replacing application methods at runtime.